Error detection by duplicated instructions in super-scalar processors
نویسندگان
چکیده
This paper proposes a pure software technique, Error Detection by Duplicated Instructions (EDDI), for detecting errors during normal system operation. Compared to other error detection techniques that use hardware redundancy, our method does not require any hardware modifications to add error detection capability to the original system. In EDDI, we duplicate instructions during compilation and use different registers and variables for the new instructions. Especially for the fault in the code segment of memory, we have derived formulas to estimate the error detection coverage of EDDI using probabilistic methods. These formulas use statistics of the program, which are collected during compilation. We applied our technique to eight benchmark programs and estimated the error detection coverage. Then, we verified the estimates by simulations, in which a fault injector forced a bit flip in the code segment of executable machine codes. The simulation results validated the estimated fault coverage and show that approximately 1.5% of injected faults produced incorrect results in eight benchmark programs with EDDI, while on average, 20% of injected faults produced undetected incorrect results in the programs without EDDI. Based on the theoretical estimates and actual fault injection experiments, we show that EDDI can provide over 98% fault coverage without any extra hardware for error detection. This pure software technique is especially useful when designers cannot change the hardware system but they need dependability in the computer system. The Control Flow Checking by Software Signatures (CFCSS) technique can be used with EDDI to increase the fault coverage. In order to reduce the performance overhead, our technique schedules the instructions that are added for detecting errors such that Instruction-Level Parallelism (ILP) is maximized. We have showed that the execution time overhead in a 4-way super-scalar processor is less than the execution time overhead in the processors that can issue 2 instructions in one cycle. FUNDING: This work was supported in part by the Ballistic Missile Defense Organization, Innovative Science and Technology (BMDO/IST) Directorate and administered through the Department of the Navy, Office of Naval Research under Grant Nos. N00014-92-J-1782 and N00014-95-1-1047 Imprimatur: Nirmal Saxena and Subhashish Mitra CSL-TR 00-5 April, 2000
منابع مشابه
Instructions Scheduling for Highly Super-scalar Processors
Super-scalar processors can execute multiple instructions out-of-order per cycle and speculatively execute instructions through branches. Such processors invalidate many of the assumptions of traditional instruction scheduling. This article analyzes the impact of super-scalar processor architecture upon instruction scheduling. The compile-time schedule is shown to signiicantly impact performanc...
متن کاملHyper-Threading Technology Architecture and Microarchitecture
Intel’s Hyper-Threading Technology brings the concept of simultaneous multi-threading to the Intel Architecture. Hyper-Threading Technology makes a single physical processor appear as two logical processors; the physical execution resources are shared and the architecture state is duplicated for the two logical processors. From a software or architecture perspective, this means operating system...
متن کاملA High Radix On-Line Arithmetic for Credible and Accurate Computing
The result of a simple oating-point computation can be in great error, even though no error is signaled, no coding mistakes are in the program, and the computer hardware is functioning correctly. This paper proposes a set of instructions appropriate for a general purpose microprocessor that can be used to improve the credibility and accuracy of numerical computations. Such instructions provide ...
متن کاملEvaluating Register Assignment Strategies on Out - of - order IssueSuperscalar Processors
Register allocation impacts the performance of programs on ne-grain parallel architectures. The al-locator can introduce dependences that did not exist among the original code sequence, preventing instructions from being executed in parallel. What is not well-understood is the impact of the allocation on code targeted for an out-of-order issue, super-scalar architecture. The dynamic scheduling ...
متن کاملReducing the Cost of Protection against Soft Errors using Profile-Based Analysis
The negative impact of the aggressive scaling of technology nodes on the sensitivity of CMOS devices to soft errors has been well studied in the past. Technology scaling makes processors more susceptible to transient faults. Errors caused by high-energy particle strikes in processors can result in unexpected behavior and incorrect results. With the smaller and cheaper CMOS devices pervasive in ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IEEE Trans. Reliability
دوره 51 شماره
صفحات -
تاریخ انتشار 2002